home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 2 / LSD and 17bit Compendium Deluxe - Volume II.iso / a / prog / asmsrc / tangosources.lha / scroll_sources / sinebend.s < prev    next >
Encoding:
Text File  |  2008-06-03  |  10.8 KB  |  339 lines

  1.     section ste,code_c
  2.     incdir    df1:
  3.     opt c-
  4.     include gamemacros
  5.     
  6.     
  7.     killsys
  8.     Move.w    #%1000011111000000,$dff096
  9.     lea        custom,a5
  10.     blitwait
  11.     move.l    #$01000000,bltcon0(a5)
  12.     move.l    #-1,bltafwm(a5)
  13.     move.w    #0,bltdmod(a5)
  14.     move.l    #$70000,bltdpth(a5)
  15.     move.w    #16*64+22,bltsize(a5)
  16.     move.l    #newcop,$dff080
  17. mouse:
  18.     move.l    vposr(a5),d0            
  19.     and.l    #$1ff00,d0
  20.     cmp.l    #$00100,d0    
  21.     bne.s    mouse
  22.     move.w    #$00f,$dff180
  23.     eor.l    #$5000,as
  24.     eor.l    #$5000,screen
  25.  
  26.     
  27.     bsr        clear
  28.     bsr        scroller
  29.     bsr        sine
  30.     move.w    #$000,$dff180
  31.  
  32.     btst    #6,$bfe001
  33.     bne        mouse
  34.     ressys
  35.     clr.l    d0
  36.     rts
  37. clear
  38.     move.l    screen,a1                    ; dst
  39.     blitwait
  40.     move.l    #$01f00000,bltcon0(a5)
  41.     move.l    #-1,bltafwm(A5)
  42.     move.w    #0,bltdmod(a5)
  43.     move.l    a1,bltdpth(A5)
  44.     move.w    #117*64+22,bltsize(a5)
  45.  
  46.     Movem.l    a0-a6/d0-d7,-(a7)        
  47.     Movem.l    RegFiller(pc),a1-a6/d0-d7
  48.     move.l    screen,a0
  49.     add.w    #9548,a0
  50.     Rept    80                
  51.     Movem.l    a1-a6/d0-d7,-(a0)
  52.     Endr                    
  53.     Movem.l    (a7)+,a0-a6/d0-d7
  54.     Rts
  55. RegFiller
  56.     Dcb.l    16,0
  57.     
  58. scroller
  59.     move.l    #-1,bltafwm(a5)
  60.     tst.l    scrolled
  61.     bne        scrollon
  62.     move.l    #15,scrolled
  63.     clr.l    d0
  64.     move.l    scrollerptr,a0
  65.     move.b    (a0)+,d0
  66.     cmp.b    #255,d0
  67.     bne.s    scrollfin
  68.     move.l    #scroll,a0
  69.     move.b    (a0)+,d0
  70. scrollfin
  71.     move.l    a0,scrollerptr
  72.     sub.b    #32,d0
  73.     add.w    d0,d0
  74.     lea        scrolltab(pc),a0
  75.     move.w    (a0,d0),d0
  76.     add.l    #font,d0
  77.     blitwait
  78.     move.l    #$09f00000,bltcon0(a5)
  79.     move.w    #38,bltamod(a5)    
  80.     move.w    #42,bltdmod(a5)    
  81.     move.l    d0,bltapth(a5)
  82.     move.l    #$70000,bltdpth(a5)
  83.     move.w    #16<<6!1,bltsize(a5)
  84. scrollon    
  85.     blitwait
  86.     move.w    #00,bltamod(a5)
  87.     move.w    #00,bltdmod(a5)
  88.     move.l    #$70000,bltdpth(a5)
  89.     move.l    #$70002,bltapth(a5)
  90.     move.l    #$f9f00000,bltcon0(a5)
  91.     move.w    #16<<6!22,bltsize(a5)
  92.     sub.l    #1,scrolled
  93.     rts
  94. sinmac    macro
  95.     add.w    (a2),d6
  96.     move.l    d7,(a3)                                ; fnt
  97.     move.l    d6,(a4)                                ; dst
  98.     move.l    d6,(a6)                                ; dst
  99.     move.w    (a1)+,(a0)                            ; mask
  100.     move.w    d0,(a5)                                ; size
  101.     sub.w    (a2),d6
  102.     add.w    d1,a2
  103.     endm
  104.  
  105. sine
  106.     move.l    #$70000,d7                            ; src
  107.     move.l    screen,d6                            ; dst
  108.     lea        locktab,a1
  109.     add.l    #12,sinptr
  110.     and.l    #$7fe,sinptr    
  111.     lea        sin,a2
  112.     add.l    sinptr,a2
  113.     blitwait
  114.     move.w    #42,bltamod(a5)                        ; fnt modula
  115.     move.w    #42,bltcmod(a5)                        ; dst modula
  116.     move.w    #42,bltdmod(a5)                        ; dst modula
  117.     move.l    #$0bfa0000,Bltcon0(a5)
  118.     move.l    #-1,bltafwm(a5)                        ; mask 
  119.     move.w    #16*64+1,d0
  120.     move.w    #4,d1
  121.     move.w    #2,d5
  122.     lea        bltapth(a5),a3
  123.     lea        bltcpth(a5),a4
  124.     lea        bltdpth(a5),a6
  125.     lea        bltafwm(a5),a0
  126.     lea        bltsize(a5),a5
  127.     rept    22
  128.     sinmac    
  129.     sinmac    
  130.     sinmac    
  131.     sinmac    
  132.     sinmac    
  133.     sinmac    
  134.     sinmac    
  135.     sinmac    
  136.     sinmac    
  137.     sinmac    
  138.     sinmac    
  139.     sinmac    
  140.     sinmac    
  141.     sinmac    
  142.     sinmac    
  143.     sinmac    
  144.     add.w    d5,d7
  145.     add.w    d5,d6
  146.     endr
  147.     lea        custom,a5
  148.     rts
  149. newcop:
  150.     cmove    bpl1mod,0
  151.     cmove    bpl2mod,0
  152.     cmove    diwstrt,$2c81
  153.     cmove    diwstop,$2cc1
  154.     cmove    ddfstrt,$28
  155.     cmove    ddfstop,$d0
  156. ;    cmove    color00,$0000
  157.     cmove    color01,$0fff
  158.     cmove    bplcon0,$1200
  159.     cmove    bpl1pth,$0007
  160. as
  161.     cmove    bpl1ptl,$2000
  162.     end_copper
  163. screen
  164.     dc.l    $72000
  165. scrolled
  166.     dc.l    0    
  167. scrollerptr
  168.     dc.l    scroll
  169. scroll
  170.     dc.b    "FUCK OFF ",255
  171.  even
  172.     
  173. scrolltab
  174.     ;              ! " # $ %  &  '  (  )  *  +  ,  -  .  /  0  1  2  3
  175.     dc.w    0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38
  176.     dc.w    (16*40),2+(16*40),4+(16*40),6+(16*40),8+(16*40),10+(16*40)
  177.     dc.w    12+(16*40),14+(16*40),16+(16*40),18+(16*40),20+(16*40),22+(16*40)
  178.     dc.w    24+(16*40),26+(16*40),28+(16*40),30+(16*40),32+(16*40),34+(16*40)
  179.     dc.w    36+(16*40),38+(16*40)
  180.     dc.w    (16*80),2+(16*80),4+(16*80),6+(16*80),8+(16*80),10+(16*80)
  181.     dc.w    12+(16*80),14+(16*80),16+(16*80),18+(16*80),20+(16*80),22+(16*80)
  182.     dc.w    24+(16*80),26+(16*80),28+(16*80),30+(16*80),32+(16*80),34+(16*80)
  183.     dc.w    36+(16*80),38+(16*80)
  184. font:
  185.     incbin    df1:gfx/font.bin    
  186. locktab
  187.     rept    23
  188.     dc.w    $8000
  189.     dc.w    $4000
  190.     dc.w    $2000
  191.     dc.w    $1000
  192.     dc.w    $800
  193.     dc.w    $400
  194.     dc.w    $200
  195.     dc.w    $100
  196.     dc.w    $80
  197.     dc.w    $40
  198.     dc.w    $20
  199.     dc.w    $10
  200.     dc.w    $8
  201.     dc.w    $4
  202.     dc.w    $2
  203.     dc.w    $1
  204.     endr    
  205. sinptr
  206.     dc.l    0
  207. sin
  208.     rept    3
  209.     dc.w    200*44,200*44,200*44,200*44,200*44,200*44,200*44,200*44
  210.     dc.w    200*44,200*44,200*44,200*44,200*44,200*44,200*44,200*44
  211.     dc.w    200*44,199*44,199*44,199*44,199*44,199*44,199*44,199*44
  212.     dc.w    199*44,199*44,199*44,199*44,199*44,198*44,198*44,198*44
  213.     dc.w    198*44,198*44,198*44,198*44,198*44,197*44,197*44,197*44
  214.     dc.w    197*44,197*44,197*44,197*44,196*44,196*44,196*44,196*44
  215.     dc.w    196*44,196*44,195*44,195*44,195*44,195*44,195*44,194*44
  216.     dc.w    194*44,194*44,194*44,194*44,193*44,193*44,193*44,193*44
  217.     dc.w    192*44,192*44,192*44,192*44,191*44,191*44,191*44,191*44
  218.     dc.w    190*44,190*44,190*44,190*44,189*44,189*44,189*44,188*44
  219.     dc.w    188*44,188*44,188*44,187*44,187*44,187*44,186*44,186*44
  220.     dc.w    186*44,185*44,185*44,185*44,184*44,184*44,184*44,183*44
  221.     dc.w    183*44,183*44,182*44,182*44,182*44,181*44,181*44,181*44
  222.     dc.w    180*44,180*44,180*44,179*44,179*44,178*44,178*44,178*44
  223.     dc.w    177*44,177*44,177*44,176*44,176*44,175*44,175*44,175*44
  224.     dc.w    174*44,174*44,173*44,173*44,172*44,172*44,172*44,171*44
  225.     dc.w    171*44,170*44,170*44,169*44,169*44,169*44,168*44,168*44
  226.     dc.w    167*44,167*44,166*44,166*44,165*44,165*44,164*44,164*44
  227.     dc.w    163*44,163*44,162*44,162*44,162*44,161*44,161*44,160*44
  228.     dc.w    160*44,159*44,159*44,158*44,158*44,157*44,157*44,156
  229.     dc.w    156*44,155*44,155*44,154*44,153*44,153*44,152*44,152*44
  230.     dc.w    151*44,151*44,150*44,150*44,149*44,149*44,148*44,148*44
  231.     dc.w    147*44,147*44,146*44,146*44,145*44,144*44,144*44,143*44
  232.     dc.w    143*44,142*44,142*44,141*44,141*44,140*44,139*44,139*44
  233.     dc.w    138*44,138*44,137*44,137*44,136*44,135*44,135*44,134*44
  234.     dc.w    134*44,133*44,133*44,132*44,131*44,131*44,130*44,130*44
  235.     dc.w    129*44,128*44,128*44,127*44,127*44,126*44,125*44,125*44
  236.     dc.w    124*44,124*44,123*44,123*44,122*44,121*44,121*44,120*44
  237.     dc.w    120*44,119*44,118*44,118*44,117*44,116*44,116*44,115*44
  238.     dc.w    115*44,114*44,113*44,113*44,112*44,112*44,111*44,110*44
  239.     dc.w    110*44,109*44,109*44,108*44,107*44,107*44,106*44,106*44
  240.     dc.w    105*44,104*44,104*44,103*44,102*44,102*44,101*44,101*44
  241.     dc.w    100*44,99*44,99*44,98*44,98*44,97*44,96*44,96*44
  242.     dc.w    95*44,94*44,94*44,93*44,93*44,92*44,91*44,91*44
  243.     dc.w    90*44,90*44,89*44,88*44,88*44,87*44,87*44,86*44
  244.     dc.w    85*44,85*44,84*44,84*44,83*44,82*44,82*44,81*44
  245.     dc.w    80*44,80*44,79*44,79*44,78*44,77*44,77*44,76*44
  246.     dc.w    76*44,75*44,75*44,74*44,73*44,73*44,72*44,72*44
  247.     dc.w    71*44,70*44,70*44,69*44,69*44,68*44,67*44,67*44
  248.     dc.w    66*44,66*44,65*44,65*44,64*44,63*44,63*44,62*44
  249.     dc.w    62*44,61*44,61*44,60*44,59*44,59*44,58*44,58*44
  250.     dc.w    57*44,57*44,56*44,56*44,55*44,54*44,54*44,53*44
  251.     dc.w    53*44,52*44,52*44,51*44,51*44,50*44,50*44,49*44
  252.     dc.w    49*44,48*44,48*44,47*44,46*44,46*44,45*44,45*44
  253.     dc.w    44*44,44*44,43*44,43*44,42*44,42*44,41*44,41*44
  254.     dc.w    40*44,40*44,39*44,39*44,38*44,38*44,38*44,37*44
  255.     dc.w    37*44,36*44,36*44,35*44,35*44,34*44,34*44,33*44
  256.     dc.w    33*44,32*44,32*44,31*44,31*44,31*44,30*44,30*44
  257.     dc.w    29*44,29*44,28*44,28*44,28*44,27*44,27*44,26*44
  258.     dc.w    26*44,25*44,25*44,25*44,24*44,24*44,23*44,23*44
  259.     dc.w    23*44,22*44,22*44,22*44,21*44,21*44,20*44,20*44
  260.     dc.w    20*44,19*44,19*44,19*44,18*44,18*44,18*44,17*44
  261.     dc.w    17*44,17*44,16*44,16*44,16*44,15*44,15*44,15*44
  262.     dc.w    14*44,14*44,14*44,13*44,13*44,13*44,12*44,12*44
  263.     dc.w    12*44,12*44,11*44,11*44,11*44,10*44,10*44,10*44
  264.     dc.w    10*44,9*44,9*44,9*44,9*44,8*44,8*44,8*44
  265.     dc.w    8*44,7*44,7*44,7*44,7*44,6*44,6*44,6*44
  266.     dc.w    6*44,6*44,5*44,5*44,5*44,5*44,5*44,4*44
  267.     dc.w    4*44,4*44,4*44,4*44,4*44,3*44,3*44,3*44
  268.     dc.w    3*44,3*44,3*44,3*44,2*44,2*44,2*44,2*44
  269.     dc.w    2*44,2*44,2*44,2*44,1*44,1*44,1*44,1*44
  270.     dc.w    1*44,1*44,1*44,1*44,1*44,1*44,1*44,1*44
  271.     dc.w    0*44,0*44,0*44,0*44,0*44,0*44,0*44,0*44
  272.     dc.w    0*44,0*44,0*44,0*44,0*44,0*44,0*44,0*44
  273.     dc.w    0*44,0*44,0*44,0*44,0*44,0*44,0*44,0*44
  274.     dc.w    0*44,0*44,0*44,0*44,0*44,0*44,0*44,0*44
  275.     dc.w    0*44,1*44,1*44,1*44,1*44,1*44,1*44,1*44
  276.     dc.w    1*44,1*44,1*44,1*44,1*44,2*44,2*44,2*44
  277.     dc.w    2*44,2*44,2*44,2*44,2*44,3*44,3*44,3*44
  278.     dc.w    3*44,3*44,3*44,3*44,4*44,4*44,4*44,4*44
  279.     dc.w    4*44,4*44,5*44,5*44,5*44,5*44,5*44,6*44
  280.     dc.w    6*44,6*44,6*44,6*44,7*44,7*44,7*44,7*44
  281.     dc.w    8*44,8*44,8*44,8*44,9*44,9*44,9*44,9*44
  282.     dc.w    10*44,10*44,10*44,10*44,11*44,11*44,11*44,12*44
  283.     dc.w    12*44,12*44,12*44,13*44,13*44,13*44,14*44,14*44
  284.     dc.w    14*44,15*44,15*44,15*44,16*44,16*44,16*44,17*44
  285.     dc.w    17*44,17*44,18*44,18*44,18*44,19*44,19*44,19*44
  286.     dc.w    20*44,20*44,20*44,21*44,21*44,22*44,22*44,22*44
  287.     dc.w    23*44,23*44,23*44,24*44,24*44,25*44,25*44,25*44
  288.     dc.w    26*44,26*44,27*44,27*44,28*44,28*44,28*44,29*44
  289.     dc.w    29*44,30*44,30*44,31*44,31*44,31*44,32*44,32*44
  290.     dc.w    33*44,33*44,34*44,34*44,35*44,35*44,36*44,36*44
  291.     dc.w    37*44,37*44,38*44,38*44,38*44,39*44,39*44,40*44
  292.     dc.w    40*44,41*44,41*44,42*44,42*44,43*44,43*44,44*44
  293.     dc.w    44*44,45*44,45*44,46*44,47*44,47*44,48*44,48*44
  294.     dc.w    49*44,49*44,50*44,50*44,51*44,51*44,52*44,52*44
  295.     dc.w    53*44,53*44,54*44,54*44,55*44,56*44,56*44,57*44
  296.     dc.w    57*44,58*44,58*44,59*44,59*44,60*44,61*44,61*44
  297.     dc.w    62*44,62*44,63*44,63*44,64*44,65*44,65*44,66*44
  298.     dc.w    66*44,67*44,67*44,68*44,69*44,69*44,70*44,70*44
  299.     dc.w    71*44,72*44,72*44,73*44,73*44,74*44,75*44,75*44
  300.     dc.w    76*44,76*44,77*44,77*44,78*44,79*44,79*44,80*44
  301.     dc.w    80*44,81*44,82*44,82*44,83*44,84*44,84*44,85*44
  302.     dc.w    85*44,86*44,87*44,87*44,88*44,88*44,89*44,90*44
  303.     dc.w    90*44,91*44,91*44,92*44,93*44,93*44,94*44,94*44
  304.     dc.w    95*44,96*44,96*44,97*44,98*44,98*44,99*44,99*44
  305.     dc.w    100*44,101*44,101*44,102*44,102*44,103*44,104*44,104*44
  306.     dc.w    105*44,106*44,106*44,107*44,107*44,108*44,109*44,109*44
  307.     dc.w    110*44,110*44,111*44,112*44,112*44,113*44,113*44,114*44
  308.     dc.w    115*44,115*44,116*44,116*44,117*44,118*44,118*44,119*44
  309.     dc.w    120*44,120*44,121*44,121*44,122*44,123*44,123*44,124*44
  310.     dc.w    124*44,125*44,125*44,126*44,127*44,127*44,128*44,128*44
  311.     dc.w    129*44,130*44,130*44,131*44,131*44,132*44,133*44,133*44
  312.     dc.w    134*44,134*44,135*44,135*44,136*44,137*44,137*44,138*44
  313.     dc.w    138*44,139*44,139*44,140*44,141*44,141*44,142*44,142*44
  314.     dc.w    143*44,143*44,144*44,144*44,145*44,146*44,146*44,147*44
  315.     dc.w    147*44,148*44,148*44,149*44,149*44,150*44,150*44,151*44
  316.     dc.w    151*44,152*44,152*44,153*44,154*44,154*44,155*44,155*44
  317.     dc.w    156*44,156*44,157*44,157*44,158*44,158*44,159*44,159*44
  318.     dc.w    160*44,160*44,161*44,161*44,162*44,162*44,162*44,163*44
  319.     dc.w    163*44,164*44,164*44,165*44,165*44,166*44,166*44,167*44
  320.     dc.w    167*44,168*44,168*44,169*44,169*44,169*44,170*44,170*44
  321.     dc.w    171*44,171*44,172*44,172*44,172*44,173*44,173*44,174*44
  322.     dc.w    174*44,175*44,175*44,175*44,176*44,176*44,177*44,177*44
  323.     dc.w    177*44,178*44,178*44,178*44,179*44,179*44,180*44,180*44
  324.     dc.w    180*44,181*44,181*44,181*44,182*44,182*44,182*44,183*44
  325.     dc.w    183*44,183*44,184*44,184*44,184*44,185*44,185*44,185*44
  326.     dc.w    186*44,186*44,186*44,187*44,187*44,187*44,188*44,188*44
  327.     dc.w    188*44,188*44,189*44,189*44,189*44,190*44,190*44,190*44
  328.     dc.w    190*44,191*44,191*44,191*44,191*44,192*44,192*44,192*44
  329.     dc.w    192*44,193*44,193*44,193*44,193*44,194*44,194*44,194*44
  330.     dc.w    194*44,194*44,195*44,195*44,195*44,195*44,195*44,196*44
  331.     dc.w    196*44,196*44,196*44,196*44,196*44,197*44,197*44,197*44
  332.     dc.w    197*44,197*44,197*44,197*44,198*44,198*44,198*44,198*44
  333.     dc.w    198*44,198*44,198*44,198*44,199*44,199*44,199*44,199*44
  334.     dc.w    199*44,199*44,199*44,199*44,199*44,199*44,199*44,199*44
  335.     dc.w    200*44,200*44,200*44,200*44,200*44,200*44,200*44,200*44
  336.     dc.w    200*44,200*44,200*44,200*44,200*44,200*44,200*44,200*44
  337.     endr
  338.  
  339.